// 说明：获取数组元素类型
// 实例：type ArrayItemType = typeof arr[number]
// 返回：[{a: 1, b: '2'}, {a: 2, b: '3'}] => {a: number, b: string}

// 说明：基于已有对象类型修改部分字段类型
// 实例：type ModifyInterface = Modify<interfaceName, {...}>
// 返回：{a: number, b: string} => {a: number, b: number}
export type Modify<T, R> = Omit<T, keyof R> & R
